Back to Contents        Previous        Next






7. Security and post-programming actions

If you are going to distribute your application for others to use you will probably want to maximise the running speed and reduce the memory needs of the finished package. You might also want some security for the listing.

Utilities to help with this are included with the DrWimp package.

As an example, the total size of the !RunImage + DrWimp, for a particular application was 55611 bytes (54.3k). After using the supplied utilities, the resulting !RunImage was 8732 bytes (8.6k) only.

The procedure (as reproduced in the “Security” file) is:

1. Store your original !RunImage and DrWimp library (the ’source’ files) somewhere safe.

2. ‘Link’ a copy of your !RunImage with the DrWimp library using !Linker. (This eliminates all unused wimp-functions and merges the !RunImage with the remaining wimp-functions to produce a new ‘linked’ !RunImage. A very useful reduction in disc storage space and some run-time memory needs results.)

3. Compress the linked !RunImage using !StrongBS (or another Basic compression utility). (This can eliminate REMs, abbreviate variable names, concatenate lines, etc. Apart from usually producing a large reduction in the linked !RunImage size and a good run-time speed increase, this process makes it very difficult to read and alter the !RunImage.)

4. (Optional) Turn the linked and compressed !RunImage into an absolute file by dropping it onto !MakeApp3. This renders the !RunImage unreadable.

[Note that !StrongBS has options to allow you effectively to carry out Steps 2, 3 & 4 in a single operation, if you wish]

If/when you want to modify/upgrade your application, you will need to modify (a copy of!) the source version and then repeat steps 1-4.

Step 3 can also help to reduce ‘red herring chasing’ if you are releasing your application for others to use and you are offering a support and bug-fix service. Human nature being what it is, making the listing difficult to read helps to ensure that you have a known baseline when bugs are reported.


Finally, if you are contemplating using a Basic compiler to convert your Dr Wimp application into machine-code then please see the note on this in Section 2.33.




Top of page        Back to Contents        Previous        Next